######################################################################
##
## Copyright (c) 1994  Carnegie Mellon University
## All rights reserved.
## 
## Use and copying of this software and preparation of derivative
## works based on this software are permitted, including commercial
## use, provided that the following conditions are observed:
## 
## 1. This copyright notice must be retained in full on any copies
##    and on appropriate parts of any derivative works.
## 2. Documentation (paper or online) accompanying any system that
##    incorporates this software, or any part of it, must acknowledge
##    the contribution of the Gwydion Project at Carnegie Mellon
##    University.
## 
## This software is made available "as is".  Neither the authors nor
## Carnegie Mellon University make any warranty about the software,
## its performance, or its conformity to any specification.
## 
## Bug reports, questions, comments, and suggestions should be sent by
## E-mail to the Internet address "gwydion-bugs@cs.cmu.edu".
##
######################################################################
##
##  $Header: Makefile.in,v 1.8 94/11/10 13:35:43 nkramer Exp $
##
##  This is the makefile for the Mindy byte-interpreter.
##

SHELL	=	/bin/sh

##
## begin autoconf'ed source
##

prefix	=		@prefix@
exec_prefix	=	@exec_prefix@
srcdir	=		@srcdir@

SRCDIR	=		${srcdir}
BINDIR	=		${exec_prefix}/bin
LIBDIR	=		${exec_prefix}/lib/mindy

CC	=		@CC@
CCOPTS	=		@CCOPTS@
CFLAGS	=		$(CCOPTS) -I${SRCDIR} @DEFS@ -DBINDIR=\"${BINDIR}\" -DLIBDIR=\"${LIBDIR}\"
YACC	=		@YACC@
YFLAGS	=		-d
LEX	=		@LEX@
LFLAGS	=		@LFLAGS@
RANLIB	=		@RANLIB@
PERL    =               perl
INSTALL	=		@INSTALL@
INSTALL_PROGRAM	=	@INSTALL_PROGRAM@
INSTALL_DATA	=	@INSTALL_DATA@

LIBOBJS =		@LIBOBJS@
LIBS	=		../compat/libcompat.a @LIBS@

##
## end of configure written portion
##

OBJS = parser.tab.o lexer.o \
	bool.o class.o coll.o debug.o def.o error.o func.o gc.o init.o \
	interp.o list.o lose.o mindy.o misc.o module.o nlx.o num.o \
	obj.o print.o str.o sym.o thread.o type.o load.o value.o vec.o \
	char.o handler.o instance.o input.o driver.o \
	table.o fd.o buf.o weak.o brkpt.o extern.o ext-init.o

SRCS = parser.tab.c lexer.c \
	bool.c class.c coll.c debug.c def.c error.c func.c gc.c init.c \
	interp.c list.c lose.c mindy.c misc.c module.c nlx.c num.c \
	obj.c print.c str.c sym.c thread.c type.c load.c value.c vec.c \
	char.c handler.c instance.c input.c driver.c \
	table.c fd.c buf.c weak.c brkpt.c extern.c ext-init.c

EXTERN-INCLUDES = malloc.inc

mindy: ${OBJS} ../compat/libcompat.a
	${CC} ${OBJS} ${LIBS} -o ,mindy
	mv -f ,mindy mindy

${SRCDIR}/parser.tab.c: ${SRCDIR}/parser.y
	${YACC} -d ${SRCDIR}/parser.y
	mv y.tab.c ${SRCDIR}/parser.tab.c
	mv y.tab.h ${SRCDIR}/parser.tab.h

${SRCDIR}/extern1.def ${SRCDIR}/extern2.def: ${SRCDIR}/$(EXTERN-INCLUDES) ${SRCDIR}/make-init.pl
	$(PERL) ${SRCDIR}/make-init.pl ${SRCDIR}/$(EXTERN-INCLUDES)
	mv ,extern1.def ${SRCDIR}/extern1.def
	mv ,extern2.def ${SRCDIR}/extern2.def

clean:
	rm -f ${OBJS} mindy *~ \#* core

realclean:
	rm -f ${OBJS} mindy parser.tab.c parser.tab.h lexer.tab.c Makefile *~ \#* core extern[12].def

install: mindy
	${INSTALL_PROGRAM} mindy ${BINDIR}/mindy

# It's easiest to generate the rest by machine.
# Try gcc -MM -E *.c | perl ../etc/generate-depends

bool.o :  ${SRCDIR}/bool.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
          ${SRCDIR}/print.h ${SRCDIR}/gc.h ${SRCDIR}/class.h \
          ${SRCDIR}/obj.h ${SRCDIR}/bool.h
	${CC} -c ${CFLAGS} ${SRCDIR}/bool.c

brkpt.o :  ${SRCDIR}/brkpt.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
           ${SRCDIR}/weak.h ${SRCDIR}/thread.h ${SRCDIR}/driver.h \
           ${SRCDIR}/gc.h ${SRCDIR}/interp.h ${SRCDIR}/bool.h \
           ${SRCDIR}/print.h ${SRCDIR}/../comp/byteops.h ${SRCDIR}/brkpt.h
	${CC} -c ${CFLAGS} ${SRCDIR}/brkpt.c

buf.o :  ${SRCDIR}/buf.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
         ${SRCDIR}/gc.h ${SRCDIR}/coll.h ${SRCDIR}/class.h \
         ${SRCDIR}/module.h ${SRCDIR}/num.h ${SRCDIR}/bool.h \
         ${SRCDIR}/obj.h ${SRCDIR}/error.h ${SRCDIR}/list.h \
         ${SRCDIR}/def.h ${SRCDIR}/sym.h ${SRCDIR}/type.h \
         ${SRCDIR}/vec.h ${SRCDIR}/str.h ${SRCDIR}/buf.h
	${CC} -c ${CFLAGS} ${SRCDIR}/buf.c

char.o :  ${SRCDIR}/char.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
          ${SRCDIR}/obj.h ${SRCDIR}/gc.h ${SRCDIR}/class.h \
          ${SRCDIR}/num.h ${SRCDIR}/bool.h ${SRCDIR}/error.h \
          ${SRCDIR}/print.h ${SRCDIR}/list.h ${SRCDIR}/type.h \
          ${SRCDIR}/def.h ${SRCDIR}/char.h
	${CC} -c ${CFLAGS} ${SRCDIR}/char.c

class.o :  ${SRCDIR}/class.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
           ${SRCDIR}/gc.h ${SRCDIR}/type.h ${SRCDIR}/list.h \
           ${SRCDIR}/sym.h ${SRCDIR}/bool.h ${SRCDIR}/obj.h \
           ${SRCDIR}/error.h ${SRCDIR}/def.h ${SRCDIR}/print.h \
           ${SRCDIR}/class.h
	${CC} -c ${CFLAGS} ${SRCDIR}/class.c

coll.o :  ${SRCDIR}/coll.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
          ${SRCDIR}/class.h ${SRCDIR}/obj.h ${SRCDIR}/gc.h \
          ${SRCDIR}/coll.h
	${CC} -c ${CFLAGS} ${SRCDIR}/coll.c

debug.o :  ${SRCDIR}/debug.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/../compat/std-os.h \
           ${SRCDIR}/mindy.h ${SRCDIR}/thread.h ${SRCDIR}/driver.h \
           ${SRCDIR}/func.h ${SRCDIR}/module.h ${SRCDIR}/str.h \
           ${SRCDIR}/list.h ${SRCDIR}/vec.h ${SRCDIR}/type.h \
           ${SRCDIR}/sym.h ${SRCDIR}/num.h ${SRCDIR}/obj.h \
           ${SRCDIR}/bool.h ${SRCDIR}/print.h ${SRCDIR}/interp.h \
           ${SRCDIR}/value.h ${SRCDIR}/error.h ${SRCDIR}/gc.h \
           ${SRCDIR}/brkpt.h ${SRCDIR}/instance.h ${SRCDIR}/../comp/byteops.h
	${CC} -c ${CFLAGS} ${SRCDIR}/debug.c

def.o :  ${SRCDIR}/def.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
         ${SRCDIR}/module.h ${SRCDIR}/sym.h ${SRCDIR}/thread.h \
         ${SRCDIR}/func.h ${SRCDIR}/list.h ${SRCDIR}/bool.h \
         ${SRCDIR}/obj.h ${SRCDIR}/def.h ${SRCDIR}/type.h \
         ${SRCDIR}/instance.h ${SRCDIR}/error.h ${SRCDIR}/class.h
	${CC} -c ${CFLAGS} ${SRCDIR}/def.c

driver.o :  ${SRCDIR}/driver.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/../compat/std-os.h \
            ${SRCDIR}/mindy.h ${SRCDIR}/gc.h ${SRCDIR}/thread.h \
            ${SRCDIR}/driver.h ${SRCDIR}/bool.h ${SRCDIR}/interp.h
	${CC} -c ${CFLAGS} ${SRCDIR}/driver.c

error.o :  ${SRCDIR}/error.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
           ${SRCDIR}/str.h ${SRCDIR}/thread.h ${SRCDIR}/module.h \
           ${SRCDIR}/sym.h ${SRCDIR}/list.h ${SRCDIR}/vec.h \
           ${SRCDIR}/type.h ${SRCDIR}/def.h ${SRCDIR}/bool.h \
           ${SRCDIR}/obj.h ${SRCDIR}/print.h ${SRCDIR}/func.h \
           ${SRCDIR}/driver.h
	${CC} -c ${CFLAGS} ${SRCDIR}/error.c

extern.o :  ${SRCDIR}/extern.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
           ${SRCDIR}/gc.h ${SRCDIR}/obj.h ${SRCDIR}/bool.h \
           ${SRCDIR}/char.h ${SRCDIR}/list.h ${SRCDIR}/type.h \
           ${SRCDIR}/class.h ${SRCDIR}/def.h ${SRCDIR}/sym.h \
           ${SRCDIR}/module.h ${SRCDIR}/error.h ${SRCDIR}/thread.h \
           ${SRCDIR}/func.h ${SRCDIR}/extern.h ${SRCDIR}/num.h \
           ${SRCDIR}/str.h ${SRCDIR}/func.h ${SRCDIR}/func.h 
	${CC} -c ${CFLAGS} ${SRCDIR}/extern.c

ext-init.o :  ${SRCDIR}/extern.c ${SRCDIR}/extern1.def ${SRCDIR}/extern2.def \
           ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
           ${SRCDIR}/gc.h ${SRCDIR}/obj.h ${SRCDIR}/bool.h \
           ${SRCDIR}/extern.h
	${CC} -c ${CFLAGS} ${SRCDIR}/ext-init.c

fd.o :  ${SRCDIR}/fd.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/../compat/std-os.h \
        ${SRCDIR}/mindy.h ${SRCDIR}/list.h ${SRCDIR}/bool.h \
        ${SRCDIR}/thread.h ${SRCDIR}/func.h ${SRCDIR}/driver.h \
        ${SRCDIR}/buf.h ${SRCDIR}/str.h ${SRCDIR}/num.h \
        ${SRCDIR}/obj.h ${SRCDIR}/def.h
	${CC} -c ${CFLAGS} ${SRCDIR}/fd.c

func.o :  ${SRCDIR}/func.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
          ${SRCDIR}/gc.h ${SRCDIR}/thread.h ${SRCDIR}/bool.h \
          ${SRCDIR}/list.h ${SRCDIR}/num.h ${SRCDIR}/class.h \
          ${SRCDIR}/obj.h ${SRCDIR}/sym.h ${SRCDIR}/interp.h \
          ${SRCDIR}/vec.h ${SRCDIR}/type.h ${SRCDIR}/module.h \
          ${SRCDIR}/print.h ${SRCDIR}/driver.h ${SRCDIR}/error.h \
          ${SRCDIR}/def.h ${SRCDIR}/func.h
	${CC} -c ${CFLAGS} ${SRCDIR}/func.c

gc.o :  ${SRCDIR}/gc.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
        ${SRCDIR}/class.h ${SRCDIR}/gc.h ${SRCDIR}/weak.h \
        ${SRCDIR}/table.h
	${CC} -c ${CFLAGS} ${SRCDIR}/gc.c

handler.o :  ${SRCDIR}/handler.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
             ${SRCDIR}/class.h ${SRCDIR}/gc.h ${SRCDIR}/obj.h \
             ${SRCDIR}/def.h ${SRCDIR}/thread.h ${SRCDIR}/func.h \
             ${SRCDIR}/list.h ${SRCDIR}/bool.h ${SRCDIR}/sym.h \
             ${SRCDIR}/type.h ${SRCDIR}/handler.h
	${CC} -c ${CFLAGS} ${SRCDIR}/handler.c

init.o :  ${SRCDIR}/init.c ${SRCDIR}/init.h
	${CC} -c ${CFLAGS} ${SRCDIR}/init.c

input.o :  ${SRCDIR}/input.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/../compat/std-os.h \
           ${SRCDIR}/mindy.h ${SRCDIR}/char.h ${SRCDIR}/list.h \
           ${SRCDIR}/bool.h ${SRCDIR}/thread.h ${SRCDIR}/func.h \
           ${SRCDIR}/driver.h ${SRCDIR}/error.h ${SRCDIR}/def.h
	${CC} -c ${CFLAGS} ${SRCDIR}/input.c

instance.o :  ${SRCDIR}/instance.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
              ${SRCDIR}/gc.h ${SRCDIR}/obj.h ${SRCDIR}/class.h \
              ${SRCDIR}/list.h ${SRCDIR}/vec.h ${SRCDIR}/type.h \
              ${SRCDIR}/bool.h ${SRCDIR}/module.h ${SRCDIR}/num.h \
              ${SRCDIR}/thread.h ${SRCDIR}/func.h ${SRCDIR}/sym.h \
              ${SRCDIR}/value.h ${SRCDIR}/error.h ${SRCDIR}/driver.h \
              ${SRCDIR}/def.h ${SRCDIR}/print.h ${SRCDIR}/instance.h
	${CC} -c ${CFLAGS} ${SRCDIR}/instance.c

interp.o :  ${SRCDIR}/interp.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
            ${SRCDIR}/gc.h ${SRCDIR}/thread.h ${SRCDIR}/driver.h \
            ${SRCDIR}/func.h ${SRCDIR}/bool.h ${SRCDIR}/list.h \
            ${SRCDIR}/class.h ${SRCDIR}/obj.h ${SRCDIR}/module.h \
            ${SRCDIR}/value.h ${SRCDIR}/num.h ${SRCDIR}/vec.h \
            ${SRCDIR}/sym.h ${SRCDIR}/error.h ${SRCDIR}/type.h \
            ${SRCDIR}/brkpt.h ${SRCDIR}/interp.h ${SRCDIR}/../comp/byteops.h
	${CC} -c ${CFLAGS} ${SRCDIR}/interp.c

lexer.o :  ${SRCDIR}/lexer.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/../compat/std-os.h \
           ${SRCDIR}/mindy.h ${SRCDIR}/lexer.h ${SRCDIR}/parser.h \
           ${SRCDIR}/parser.tab.h ${SRCDIR}/list.h ${SRCDIR}/char.h \
           ${SRCDIR}/str.h ${SRCDIR}/sym.h ${SRCDIR}/num.h \
           ${SRCDIR}/bool.h
	${CC} -c ${CFLAGS} ${SRCDIR}/lexer.c

list.o :  ${SRCDIR}/list.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
          ${SRCDIR}/gc.h ${SRCDIR}/coll.h ${SRCDIR}/class.h \
          ${SRCDIR}/obj.h ${SRCDIR}/bool.h ${SRCDIR}/num.h \
          ${SRCDIR}/thread.h ${SRCDIR}/func.h ${SRCDIR}/error.h \
          ${SRCDIR}/print.h ${SRCDIR}/type.h ${SRCDIR}/def.h \
          ${SRCDIR}/list.h
	${CC} -c ${CFLAGS} ${SRCDIR}/list.c

load.o :  ${SRCDIR}/load.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/../compat/std-os.h \
          ${SRCDIR}/mindy.h ${SRCDIR}/bool.h ${SRCDIR}/list.h \
          ${SRCDIR}/module.h ${SRCDIR}/str.h ${SRCDIR}/sym.h \
          ${SRCDIR}/num.h ${SRCDIR}/thread.h ${SRCDIR}/interp.h \
          ${SRCDIR}/func.h ${SRCDIR}/obj.h ${SRCDIR}/gc.h \
          ${SRCDIR}/class.h ${SRCDIR}/char.h ${SRCDIR}/driver.h \
          ${SRCDIR}/debug.h ${SRCDIR}/instance.h ${SRCDIR}/vec.h \
          ${SRCDIR}/error.h ${SRCDIR}/../comp/fileops.h ${SRCDIR}/load.h
	${CC} -c ${CFLAGS} ${SRCDIR}/load.c

lose.o :  ${SRCDIR}/lose.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h
	${CC} -c ${CFLAGS} ${SRCDIR}/lose.c

mindy.o :  ${SRCDIR}/mindy.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
           ${SRCDIR}/init.h ${SRCDIR}/thread.h ${SRCDIR}/driver.h \
           ${SRCDIR}/module.h ${SRCDIR}/str.h ${SRCDIR}/bool.h \
           ${SRCDIR}/list.h ${SRCDIR}/obj.h ${SRCDIR}/sym.h \
           ${SRCDIR}/func.h ${SRCDIR}/debug.h ${SRCDIR}/load.h \
           ${SRCDIR}/num.h
	${CC} -c ${CFLAGS} ${SRCDIR}/mindy.c

misc.o :  ${SRCDIR}/misc.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
          ${SRCDIR}/thread.h ${SRCDIR}/bool.h ${SRCDIR}/list.h \
          ${SRCDIR}/vec.h ${SRCDIR}/func.h ${SRCDIR}/obj.h \
          ${SRCDIR}/module.h ${SRCDIR}/sym.h ${SRCDIR}/def.h \
          ${SRCDIR}/num.h
	${CC} -c ${CFLAGS} ${SRCDIR}/misc.c

module.o :  ${SRCDIR}/module.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
            ${SRCDIR}/gc.h ${SRCDIR}/sym.h ${SRCDIR}/list.h \
            ${SRCDIR}/bool.h ${SRCDIR}/str.h ${SRCDIR}/obj.h \
            ${SRCDIR}/module.h ${SRCDIR}/class.h ${SRCDIR}/type.h \
            ${SRCDIR}/thread.h ${SRCDIR}/func.h ${SRCDIR}/def.h \
            ${SRCDIR}/load.h ${SRCDIR}/error.h ${SRCDIR}/print.h
	${CC} -c ${CFLAGS} ${SRCDIR}/module.c

nlx.o :  ${SRCDIR}/nlx.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
         ${SRCDIR}/gc.h ${SRCDIR}/thread.h ${SRCDIR}/func.h \
         ${SRCDIR}/list.h ${SRCDIR}/bool.h ${SRCDIR}/obj.h \
         ${SRCDIR}/sym.h ${SRCDIR}/class.h ${SRCDIR}/error.h \
         ${SRCDIR}/def.h
	${CC} -c ${CFLAGS} ${SRCDIR}/nlx.c

num.o :  ${SRCDIR}/num.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
         ${SRCDIR}/gc.h ${SRCDIR}/class.h ${SRCDIR}/obj.h \
         ${SRCDIR}/bool.h ${SRCDIR}/def.h ${SRCDIR}/list.h \
         ${SRCDIR}/type.h ${SRCDIR}/num.h ${SRCDIR}/thread.h \
         ${SRCDIR}/func.h ${SRCDIR}/error.h ${SRCDIR}/print.h \
         ${SRCDIR}/module.h ${SRCDIR}/sym.h
	${CC} -c ${CFLAGS} ${SRCDIR}/num.c

obj.o :  ${SRCDIR}/obj.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
         ${SRCDIR}/num.h ${SRCDIR}/class.h ${SRCDIR}/bool.h \
         ${SRCDIR}/list.h ${SRCDIR}/def.h ${SRCDIR}/gc.h \
         ${SRCDIR}/obj.h
	${CC} -c ${CFLAGS} ${SRCDIR}/obj.c

parser.tab.o :  ${SRCDIR}/parser.tab.c ${SRCDIR}/./../compat/std-c.h ${SRCDIR}/./mindy.h \
                ${SRCDIR}/./lexer.h ${SRCDIR}/./parser.h ${SRCDIR}/./parser.tab.h \
                ${SRCDIR}/./list.h ${SRCDIR}/./str.h ${SRCDIR}/./sym.h \
                ${SRCDIR}/./num.h ${SRCDIR}/./bool.h
	${CC} -c ${CFLAGS} ${SRCDIR}/parser.tab.c

print.o :  ${SRCDIR}/print.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
           ${SRCDIR}/obj.h ${SRCDIR}/class.h ${SRCDIR}/bool.h \
           ${SRCDIR}/list.h ${SRCDIR}/print.h ${SRCDIR}/vec.h \
           ${SRCDIR}/char.h ${SRCDIR}/str.h ${SRCDIR}/thread.h \
           ${SRCDIR}/func.h ${SRCDIR}/def.h ${SRCDIR}/sym.h \
           ${SRCDIR}/error.h ${SRCDIR}/num.h ${SRCDIR}/type.h
	${CC} -c ${CFLAGS} ${SRCDIR}/print.c

str.o :  ${SRCDIR}/str.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
         ${SRCDIR}/gc.h ${SRCDIR}/coll.h ${SRCDIR}/class.h \
         ${SRCDIR}/char.h ${SRCDIR}/module.h ${SRCDIR}/num.h \
         ${SRCDIR}/bool.h ${SRCDIR}/obj.h ${SRCDIR}/str.h \
         ${SRCDIR}/error.h ${SRCDIR}/type.h ${SRCDIR}/print.h \
         ${SRCDIR}/list.h ${SRCDIR}/def.h ${SRCDIR}/sym.h
	${CC} -c ${CFLAGS} ${SRCDIR}/str.c

sym.o :  ${SRCDIR}/sym.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
         ${SRCDIR}/gc.h ${SRCDIR}/bool.h ${SRCDIR}/class.h \
         ${SRCDIR}/obj.h ${SRCDIR}/coll.h ${SRCDIR}/str.h \
         ${SRCDIR}/def.h ${SRCDIR}/list.h ${SRCDIR}/type.h \
         ${SRCDIR}/print.h ${SRCDIR}/sym.h
	${CC} -c ${CFLAGS} ${SRCDIR}/sym.c

table.o :  ${SRCDIR}/table.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
           ${SRCDIR}/thread.h ${SRCDIR}/func.h ${SRCDIR}/def.h \
           ${SRCDIR}/list.h ${SRCDIR}/bool.h ${SRCDIR}/num.h \
           ${SRCDIR}/obj.h ${SRCDIR}/sym.h ${SRCDIR}/gc.h \
           ${SRCDIR}/class.h ${SRCDIR}/print.h ${SRCDIR}/table.h
	${CC} -c ${CFLAGS} ${SRCDIR}/table.c

thread.o :  ${SRCDIR}/thread.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
            ${SRCDIR}/gc.h ${SRCDIR}/bool.h ${SRCDIR}/class.h \
            ${SRCDIR}/thread.h ${SRCDIR}/obj.h ${SRCDIR}/driver.h \
            ${SRCDIR}/func.h ${SRCDIR}/num.h ${SRCDIR}/list.h \
            ${SRCDIR}/def.h ${SRCDIR}/type.h ${SRCDIR}/error.h
	${CC} -c ${CFLAGS} ${SRCDIR}/thread.c

type.o :  ${SRCDIR}/type.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
          ${SRCDIR}/gc.h ${SRCDIR}/obj.h ${SRCDIR}/type.h \
          ${SRCDIR}/class.h ${SRCDIR}/bool.h ${SRCDIR}/list.h \
          ${SRCDIR}/num.h ${SRCDIR}/module.h ${SRCDIR}/sym.h \
          ${SRCDIR}/error.h ${SRCDIR}/print.h ${SRCDIR}/def.h
	${CC} -c ${CFLAGS} ${SRCDIR}/type.c

value.o :  ${SRCDIR}/value.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
           ${SRCDIR}/gc.h ${SRCDIR}/obj.h ${SRCDIR}/class.h \
           ${SRCDIR}/value.h
	${CC} -c ${CFLAGS} ${SRCDIR}/value.c

vec.o :  ${SRCDIR}/vec.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
         ${SRCDIR}/gc.h ${SRCDIR}/coll.h ${SRCDIR}/class.h \
         ${SRCDIR}/thread.h ${SRCDIR}/func.h ${SRCDIR}/bool.h \
         ${SRCDIR}/list.h ${SRCDIR}/num.h ${SRCDIR}/obj.h \
         ${SRCDIR}/module.h ${SRCDIR}/sym.h ${SRCDIR}/type.h \
         ${SRCDIR}/error.h ${SRCDIR}/print.h ${SRCDIR}/def.h \
         ${SRCDIR}/vec.h
	${CC} -c ${CFLAGS} ${SRCDIR}/vec.c

weak.o :  ${SRCDIR}/weak.c ${SRCDIR}/../compat/std-c.h ${SRCDIR}/mindy.h \
          ${SRCDIR}/gc.h ${SRCDIR}/obj.h ${SRCDIR}/bool.h \
          ${SRCDIR}/list.h ${SRCDIR}/type.h ${SRCDIR}/class.h \
          ${SRCDIR}/def.h ${SRCDIR}/sym.h ${SRCDIR}/module.h \
          ${SRCDIR}/error.h ${SRCDIR}/thread.h ${SRCDIR}/func.h \
          ${SRCDIR}/weak.h
	${CC} -c ${CFLAGS} ${SRCDIR}/weak.c
